package com.hongyun.tms.infra.excel.converter.enums;

import com.hongyun.tms.common.enums.ProdPlanEnum;

/**
 * 作业计划翻译器，用于在 Excel 导入导出过程中对费率贸易类型字段进行翻译。
 * <p>
 * 继承自 {@link AbstractEnumConverter}，通过code和desc之间的映射，
 * 实现从Excel中的文本描述到费率贸易类型的枚举 code 转换，以及从code到Excel中的文本描述转换。
 *
 * @author peng.li
 * @date 2024-09-13
 */
public class ProdPlanEnumConverter extends AbstractEnumConverter<ProdPlanEnum, String> {

    /**
     * 根据枚举 code 获取对应的描述信息。
     *
     * @param code 枚举的 code 值
     * @return 对应的枚举描述信息，如果 code 不匹配则返回 null
     */
    @Override
    protected String getEnumDescByCode(String code) {
        ProdPlanEnum item = ProdPlanEnum.fromCode(code);
        return item != null ? item.getDesc() : null;
    }

    /**
     * 根据枚举描述获取对应的 code 值。
     *
     * @param desc 枚举的描述信息
     * @return 对应的枚举 code，如果描述不匹配则返回 null
     */
    @Override
    protected String getCodeByDesc(String desc) {
        return ProdPlanEnum.getCodeByDesc(desc);
    }
}
